#ifndef __S_USER_ACTION_H_INCLUDED__
#define __S_USER_ACTION_H_INCLUDED__

#include "SMouseMovingInfo.h"
#include "IUserActionEventReceiver.h"

namespace game
{
	enum EKEY_STATE
	{
		//! key was left up
		KEY_STATE_UP = 0,
		//! key was pressed down
		KEY_STATE_DOWN,
		//! key  was pressed
		KEY_STATE_PRESSED,
		//! key  was released
		KEY_STATE_RELEASED,
		//! mouse/joystick event  was move
		KEY_STATE_MOUSE_MOVE,
		//! mouse/joystick event  was stopped
		KEY_STATE_MOUSE_STOPPED,
	};
	
	struct SUserAction
	{
	public:
		EKEY_STATE KeyState;

		irr::EKEY_CODE KeyCode;

		SMouseMovingInfo MouseMovingInfo;
	};
}
#endif